package com.fowo.api.model.cost.supplement.form.subtable;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 成本补录单子表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class CostSupplementFormSubtableImportPo {

  /** 所属成本补录单 */
  @ExcelProperty("所属成本补录单")
  @Size(max = 50, message = "所属成本补录单长度不能超过50")
  private String parentCostSupplementFormOrderNumber;

  @ExcelIgnore
  @Schema(title = "所属成本补录单")
  private String parentCostSupplementForm;

  /** 品名 */
  @ExcelProperty("*品名")
  @NotBlank(message = "品名不能为空")
  @Size(max = 500, message = "品名长度不能超过500")
  private String tradeNameName;

  @ExcelIgnore
  @Schema(title = "*品名")
  private String tradeName;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 100, message = "SKU长度不能超过100")
  private String sku;

  /** 店铺 */
  @ExcelProperty("*店铺")
  @NotBlank(message = "店铺不能为空")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String shopShopName;

  @ExcelIgnore
  @Schema(title = "*店铺")
  private String shop;

  /** FNSKU */
  @ExcelProperty("FNSKU")
  @Size(max = 50, message = "FNSKU长度不能超过50")
  private String fnsku;

  /** 入库单号 */
  @ExcelProperty("入库单号")
  @Size(max = 50, message = "入库单号长度不能超过50")
  private String warehouseEntryNumberCgRealname;

  @ExcelIgnore
  @Schema(title = "入库单号")
  private String warehouseEntryNumber;

  /** 入库量 */
  @ExcelProperty("入库量")
  @IntegerString(message = "入库量数值格式不正确", label = "入库量")
  private String unitStock;

  /** 采购单价 */
  @ExcelProperty("采购单价")
  @DecimalString(message = "采购单价小数格式不正确", label = "采购单价")
  private String apuc;

  /** 单位费用 */
  @ExcelProperty("单位费用")
  @DecimalString(message = "单位费用小数格式不正确", label = "单位费用")
  private String unitCost;

  /** 单位入库成本 */
  @ExcelProperty("单位入库成本")
  @DecimalString(message = "单位入库成本小数格式不正确", label = "单位入库成本")
  private String unitWarehousingCost;

  /** 货值 */
  @ExcelProperty("货值")
  @DecimalString(message = "货值小数格式不正确", label = "货值")
  private String value;

  /** 费用 */
  @ExcelProperty("费用")
  @DecimalString(message = "费用小数格式不正确", label = "费用")
  private String charge;

  /** 入库成本 */
  @ExcelProperty("入库成本")
  @DecimalString(message = "入库成本小数格式不正确", label = "入库成本")
  private String arcd;

  /** 货值调整金额 */
  @ExcelProperty("货值调整金额")
  @DecimalString(message = "货值调整金额小数格式不正确", label = "货值调整金额")
  private String valueAdjustmentAmount;

  /** 费用调整金额 */
  @ExcelProperty("费用调整金额")
  @DecimalString(message = "费用调整金额小数格式不正确", label = "费用调整金额")
  private String expenseAdjustmentAmount;

  /** 入库成本调整金额 */
  @ExcelProperty("入库成本调整金额")
  @DecimalString(
    message = "入库成本调整金额小数格式不正确",
    label = "入库成本调整金额"
  )
  private String adjustmentCost;
}
